#ifndef QUEUE_H_
#define QUEUE_H_

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int QTDataType;

typedef struct Queue
{
    QTDataType *qt;
    int head;     //队头
    int tail;     //队尾
    int Capacity; //容量
} Queue;

void QueueInit(Queue *q);
void QueueDestory(Queue *q);
void QueuePush(Queue *q, QTDataType x);
void QueuePop(Queue *q);
bool QueueEmpty(Queue *q);
int QueueHead(Queue *q);
int QueueTail(Queue *q);

#endif